<?php

//*********************************************************
//              CONNEXION BDD
//*********************************************************
//include('bdd/connexion_bdd.php');
$Hote = 'mysql:host=localhost;dbname=etudis';
$User = 'root';
$Pass = 'Guillaume';

$bdd = new PDO($Hote, $User, $Pass);

//*********************************************************
//              SELECTION NUMERO DE L'ETAPE
//*********************************************************

$numEtape = $bdd->prepare("SELECT numero_etape_termine FROM etude_municipalite WHERE id_toute_etude = :id_toute_etude");

//*********************************************************
//              CREATION NOUVELLE ETUDE
//*********************************************************
//ajout d'une nouvelle ville dans la bdd
$ajoutNewVille = $bdd->prepare("INSERT INTO ville(nom_ville, supprime_ville, code_ville) VALUES(:nom_ville, :supprime_ville, :code_ville)");

//Compte le nombre de typede travaux possibles
$nbrTypeTravaux = $bdd->prepare("SELECT * FROM type_travaux_municipalite");

//vérification que le nouveau type de travaux n'existe pas déjà
$verifTypeTravaux = $bdd->prepare(("SELECT nom_type_travaux FROM type_travaux_municipalite"));

//ajout d'un nouveau type de travaux
$ajoutNewTravaux = $bdd->prepare("INSERT INTO type_travaux_municipalite (nom_type_travaux) VALUES (:nom_type_travaux)");

//Ajout d'un nouveau concessionnaire en fonction du nouveau type de travaux
$ajoutNewConcessionnaire = $bdd->prepare("INSERT INTO concessionnaire_municipalite (nom_concessionnaire, id_type_travaux)VALUES (:concessionnaire_municipalite, :id_type_travaux)");

//Selection des villes dans la base de données pour la création d'une étude
$nom_ville = $bdd->prepare("SELECT nom_ville FROM ville ORDER BY nom_ville");
//Selection des type de travaux dans la base de données pour la création d'une étude
$type_travaux = $bdd->prepare("SELECT nom_type_travaux FROM type_travaux_municipalite");

//Insert une nouvelle étude dans la base de données
$nouvelleEtude = $bdd->prepare("INSERT INTO etude_municipalite (id_toute_etude, numero_affaire, id_ville, date_demarrage_etude, code_ville, numero_etude_ville, numero_etape_termine)
VALUES (:id_toute_etude, :numero_affaire, :id_ville, :date_demarrage_etude, :code_ville, :numero_etude_ville, :numero_etape_termine)");

//Insert les rues correspondant à l'étude das la base de données
$rue_etude = $bdd->prepare("INSERT INTO rue_municipalite (id_etude, rue_travaux, progression) VALUES (:id_etude, :rue_travaux, :progression)");

//Récupère l'id du type de travaux
$idTravaux = $bdd->prepare("SELECT id_type_travaux FROM type_travaux_municipalite WHERE nom_type_travaux = :nom_type_travaux");


//insert le ou les types de travaux dans la bdd
$typesTravaux = $bdd->prepare("INSERT INTO type_travaux_etude_municipalite (id_etude, id_type_travaux) VALUES (:id_etude, :id_type_travaux)");

//initialisation des documents dans la bdd
$initialisationDocuments = $bdd->prepare("INSERT INTO document_municipalite_etude (id_document, id_etude, diffuse, date_diffusion) VALUES (:id_document, :id_etude, :diffuse, :date_diffusion)");

//Insert les concessionnaire dans la bdd.
$ajout_concessionnaire = $bdd->prepare("INSERT INTO concessionnaire_municipalite_etude (id_concessionnaire,id_etude, date_obtention_APS, date_accord_etude, date_reception_final, APS_obtenu, accord_etude_obtenu, reception_final_obtenue)
VALUES (:id_concessionnaire, :id_etude,:date_obtention_APS, :date_accord_etude, :date_reception_final, :APS_obtenu, :accord_etude_obtenu, :reception_final_obtenue)");


//*********************************************************
//              CONCESSIONNAIRES
//*********************************************************
//Compte le nombre d'APS obtenu pour une étude donnée
$nbrAPS = $bdd->prepare("SELECT APS_obtenu FROM concessionnaire_municipalite_etude WHERE id_etude = '" . $_SESSION['id_etude'] . "' AND APS_obtenu = '1'");

//Compte le nombre d'Accord pour l'étude obtenu
$nbrAccord = $bdd->prepare("SELECT accord_etude_obtenu FROM concessionnaire_municipalite_etude WHERE id_etude = '" . $_SESSION['id_etude'] . "' AND accord_etude_obtenu = '1'");

//Compte le nombre de réception finale obtenu
$nbrReception = $bdd->prepare("SELECT reception_final_obtenue FROM concessionnaire_municipalite_etude WHERE id_etude = '" . $_SESSION['id_etude'] . "' AND reception_final_obtenue = '1'");


//Récupération de l'Id du concessionnaire grâce à son nom.
$id_concessionnaire = $bdd->prepare("SELECT id_concessionnaire FROM concessionnaire_municipalite WHERE nom_concessionnaire = :nom_concessionnaire");

//actualise les champs dans la bdd pour les concessionnaires
$actualisation_concessionnaire = $bdd->prepare("UPDATE concessionnaire_municipalite_etude SET date_obtention_APS = :date_APS,
date_accord_etude = :date_accord,
date_reception_final = :date_reception,
APS_obtenu = :APS_obtenu,
accord_etude_obtenu = :accord_obtenu,
reception_final_obtenue = :reception_obtenue	WHERE id_concessionnaire = :id_concessionnaire AND id_etude = :id_etude");

//Récupère le nom du concessionnaire dont on à le document (APS)
$nomConcessionnaireAPS = $bdd->prepare("SELECT nom_concessionnaire FROM concessionnaire_municipalite INNER JOIN concessionnaire_municipalite_etude 
                                    ON concessionnaire_municipalite.id_concessionnaire = concessionnaire_municipalite_etude.id_concessionnaire
                                    WHERE id_etude = '" . $_SESSION['id_etude'] . "' AND APS_obtenu = '1'");

//Récupère le nom du concessionnaire dont on à le document (Accord)
$nomConcessionnaireAccord = $bdd->prepare("SELECT nom_concessionnaire FROM concessionnaire_municipalite INNER JOIN concessionnaire_municipalite_etude 
                                    ON concessionnaire_municipalite.id_concessionnaire = concessionnaire_municipalite_etude.id_concessionnaire
                                    WHERE id_etude = '" . $_SESSION['id_etude'] . "' AND accord_etude_obtenu = '1'");

//Récupère le nom du concessionnaire dont on à le document (Reception)
$nomConcessionnaireReception = $bdd->prepare("SELECT nom_concessionnaire FROM concessionnaire_municipalite INNER JOIN concessionnaire_municipalite_etude 
                                    ON concessionnaire_municipalite.id_concessionnaire = concessionnaire_municipalite_etude.id_concessionnaire
                                    WHERE id_etude = '" . $_SESSION['id_etude'] . "' AND reception_final_obtenue = '1'");


//*********************************************************
//              DOCUMENTS
//*********************************************************

//Compte le nombre documents à diffusé
$nbrDocument = $bdd->prepare("SELECT * FROM document_municipalite");
//mis à jour des documents d'une étude
$actualisationDocuments = $bdd->prepare("UPDATE document_municipalite_etude SET diffuse = :diffuse, date_diffusion = :date_diffusion WHERE id_etude = :id_etude AND id_document = :id_document");


//*********************************************************
//              CONVENTIONS
//*********************************************************
//récupération des toutes les informations spécifiques a une convention ARF85
$infosARF85 = $bdd->prepare(("SELECT * FROM convention_arf85 WHERE type_etude = :type_etude AND id_etude = :id_etude"));

//insert en bdd les informations sur la conventions ARF85
$insertionARF85 = $bdd->prepare("INSERT INTO convention_arf85 (type_etude, id_etude, nom_convention, nom_soussigne, proprio, ville_autorise, domicile, lieu, date) VALUES (:type_etude, :id_etude, :nom_convention, :nom_soussigne, :proprio, :ville_autorise, :domicile, :lieu, :date)");

//Récupère la liste des conventions ARF85
$listARF85 = $bdd->prepare("SELECT id_convention_arf85, date FROM convention_arf85 WHERE type_etude = :type_etude AND id_etude = :id_etude");
//Récupère toutes les informations sur une convention ARF85 donnée
$conventionARF85 = $bdd->prepare("SELECT * FROM convention_arf85 WHERE type_etude = :type_etude AND id_etude = :id_etude AND id_convention_arf85 = :id_convention_arf85");

//insert en bdd les informations sur la convention ARF85 de ERDF
$insertionARF85ERDF = $bdd->prepare("INSERT INTO convention_arf85_erdf (type_etude, id_etude, nom_convention, nom_soussigne, proprio, lieu, date) VALUES (:type_etude, :id_etude, :nom_convention, :nom_soussigne, :proprio, :lieu, :date)");

//Récupère la liste des conventions ARF85 ERDF
$listARF85ERDF = $bdd->prepare("SELECT id_convention_arf85_erdf, date FROM convention_arf85_erdf WHERE type_etude = :type_etude AND id_etude = :id_etude");
//Récupère toutes les informations sur une convention ARF85ERDF donnée
$conventionARF85ERDF = $bdd->prepare("SELECT * FROM convention_arf85_erdf WHERE type_etude = :type_etude AND id_etude = :id_etude AND id_convention_arf85_erdf = :id_convention_arf85_erdf");

//insert en bdd les informations de la convention C06
$insertionC06 = $bdd->prepare("INSERT INTO convention_c06 (type_etude, id_etude, nom_convention, nom_commune, departement, nom_ligne, civilite, proprio, adresse_proprio, adresse_terrain,
    commune, section, numero, lieux, nature, exploitation, adresse_exploitant, exploitant, nbr_supports, nbr_ancrages, dimensions_supports, longueur_totale, longueur_facade, somme_chiffres, somme_lettres, adresse_notaire, nom_notaire, lieu_proprio, date_proprio, lieu_erdf, date_erdf) 
    VALUES (:type_etude, :id_etude, :nom_convention, :nom_commune, :departement, :nom_ligne, :civilite, :proprio, :adresse_proprio, :adresse_terrain, :commune, :section, :numero, :lieux, :nature,
    :exploitation, :adresse_exploitant, :exploitant, :nbr_supports, :nbr_ancrages, :dimensions_supports, :longueur_totale, :longueur_facade, :somme_chiffres, :somme_lettres, :adresse_notaire, :nom_notaire, :lieu_proprio, :date_proprio, :lieu_erdf, :date_erdf)");
//recupère la liste des conventions C06
$listC06 = $bdd->prepare("SELECT id_convention_c06 FROM convention_c06 WHERE type_etude = :type_etude AND id_etude = :id_etude");
//Recupère toutes les informations sur une convention C06 donnée
$conventionC06 = $bdd->prepare("SELECT * FROM convention_c06 WHERE type_etude = :type_etude AND id_etude = :id_etude AND id_convention_c06 = :id_convention_c06");

//insert en bdd les informations sur la convention CS06
$insertionCS06 = $bdd->prepare("INSERT INTO convention_cs06 (type_etude, id_etude, nom_convention, nom_commune, departement, nom_ligne, civilite, proprio, adresse_proprio, adresse_terrain,
    commune, section, numero, lieux, nature, exploitation, adresse_exploitant, exploitant, largeur, nbr_canalisation, longueur_totale, facade, somme_chiffres, somme_lettres, adresse_notaire, nom_notaire, lieu_proprio, date_proprio, lieu_erdf, date_erdf)
    VALUES (:type_etude, :id_etude, :nom_convention, :nom_commune, :departement, :nom_ligne, :civilite, :proprio, :adresse_proprio, :adresse_terrain,
    :commune, :section, :numero, :lieux, :nature, :exploitation, :adresse_exploitant, :exploitant, :largeur, :nbr_canalisation, :longueur_totale, :facade, :somme_chiffres, :somme_lettres, :adresse_notaire, :nom_notaire, :lieu_proprio, :date_proprio, :lieu_erdf, :date_erdf)");

//recupère la liste des conventions CS06
$listCS06 = $bdd->prepare("SELECT id_convention_cs06 FROM convention_cs06 WHERE type_etude = :type_etude AND id_etude = :id_etude");
//Récupère toutes les informations sur une convention CS06
$conventionCS06 = $bdd->prepare("SELECT * FROM convention_cs06 WHERE type_etude = :type_etude AND id_etude = :id_etude AND id_convention_cs06 = :id_convention_cs06");

//insert en bdd les information sur la convention Poste DP
$insertionPosteDP = $bdd->prepare("INSERT INTO convention_poste (type_etude, id_etude, nom_convention, nom_dp, adresse_dp, represantant_dp, rue_dp, section_dp, num_section_dp, superficie_terrain, endroit_terrain,
    numero_section_dp, numero_dp, superficie, somme_chiffres, somme_lettres, maitre, addr_maitre, lieu_proprio, date_proprio, lieu_dp_erdf, date_dp_erdf)
    VALUES (:type_etude, :id_etude, :nom_convention, :nom_dp, :adresse_dp, :represantant_dp, :rue_dp, :section_dp, :num_section_dp, :superficie_terrain, :endroit_terrain, 
    :numero_section_dp, :numero_dp, :superficie, :somme_chiffres, :somme_lettres, :maitre, :addr_maitre, :lieu_proprio, :date_proprio, :lieu_dp_erdf, :date_dp_erdf)");
//recupère la liste des conventions Poste DP
$listPosteDP = $bdd->prepare("SELECT id_convention_poste FROM convention_poste WHERE type_etude = :type_etude AND id_etude = :id_etude");
//recupère toutes les informations sur une convention poste DP
$conventionPosteDP = $bdd->prepare("SELECT * FROM convention_poste WHERE type_etude = :type_etude AND id_etude = :id_etude AND id_convention_poste = :id_convention_poste");

//insert en bdd les informations relatives aux conventions FIP Ligne1
$insertionFIPLigne1 = $bdd->prepare("INSERT INTO convention_fip_ligne1 (type_etude, id_etude, nom_convention, cables, section, numero, longueur, largeur, montant, neant, sante, denominationSociale, formeJuridique, 
    nationalite, capital, dateNaissance, lieuProprio, numeroRegistre, adresseSiege, qualite, adresseCorrespondance, telephoneDomicile, telephoneTravail, titreDePropriete, nomConjoint, prenomConjoint, nomJeuneFille, regimeMatrimonial, 
    villeMairie, prenomSignataire, nomSignataire, adresseSignataire, nomPromoteur, nomSyndicat, adresseSyndicat, nomNotaire, adresseNotaire, jeSoussigne, adresseERDF, endroit, datefip_ligne1)
    VALUES (:type_etude, :id_etude, :nom_convention, :cables, :section, :numero, :longueur, :largeur, :montant, :neant, :sante, :denominationSociale, :formeJuridique, :nationalite, :capital,
    :dateNaissance, :lieuProprio, :numeroRegistre, :adresseSiege, :qualite, :adresseCorrespondance, :telephoneDomicile, :telephoneTravail, :titreDePropriete, :nomConjoint, :prenomConjoint, :nomJeuneFille, :regimeMatrimonial,
    :villeMairie, :prenomSignataire, :nomSignataire, :adresseSignataire, :nomPromoteur, :nomSyndicat, :adresseSyndicat, :nomNotaire, :adresseNotaire, :jeSoussigne, :adresseERDF, :endroit, :datefip_ligne1)");


//récupère la liste de toutes les conventions FIP Ligne1
$listFIPLigne1 = $bdd->prepare("SELECT id_convention_fipligne1 FROM convention_fip_ligne1 WHERE type_etude = :type_etude AND id_etude = :id_etude");
//récupère toutes les informations sur une conventions FIP Ligne1
$conventionFIPLigne1 = $bdd->prepare("SELECT * FROM convention_fip_ligne1 WHERE type_etude = :type_etude AND id_etude = :id_etude AND id_convention_fipligne1 = :id_convention_fipligne1");

//insert en bdd les informations sur les conventions FIP Poste
$insertionFIPPoste = $bdd->prepare("INSERT INTO convention_fip_poste(type_etude, id_etude, nom_convention, miseADisposition, cables, longueurLigne, largeurTranchee, 
    adresseImplantation, section, numeroSection, nomPoste, gdo, longueurDP, largeurDP, hauteurDP, surfaceDP, puissance, typePoste, naturePoste,  
    identiteProprio, denominationSociale, formeJuridique, nationalite, capitalSocial, dateConstitution, lieuConstitution, numeroRegistre, 
    adresseSiegeSocial, represantantAssociation, qualiteRepresentant, telephoneDomicile, adresseCorrespondant, titrePropriete, nomConjoint, prenomConjoint, nomJeuneFille, regimeMatrimonial,   
    mairieVille, nomHabilite, prenomHabilite, adresseHabilite, nomPromoteur, nomSyndicat, adresseSyndicat, nomNotaire, adresseNotaire, jeSoussigne, adresseERDF, lieuFIPPOSTE, date) 
    VALUES (:type_etude, :id_etude, :nom_convention, :miseADisposition, :cables, :longueurLigne, :largeurTranchee, :adresseImplantation, :section, :numeroSection, 
    :nomPoste, :gdo, :longueurDP, :largeurDP, :hauteurDP, :surfaceDP, :puissance, :typePoste, :naturePoste,  
    :identiteProprio, :denominationSociale, :formeJuridique, :nationalite, :capitalSocial, :dateConstitution, :lieuConstitution, :numeroRegistre, 
    :adresseSiegeSocial, :represantantAssociation, :qualiteRepresentant, :telephoneDomicile, :adresseCorrespondant, :titrePropriete, :nomConjoint, :prenomConjoint, :nomJeuneFille, :regimeMatrimonial, 
    :mairieVille, :nomHabilite, :prenomHabilite, :adresseHabilite, :nomPromoteur, :nomSyndicat, :adresseSyndicat, :nomNotaire, :adresseNotaire, :jeSoussigne, :adresseERDF, :lieuFIPPOSTE, :date)");

//mise à jour des informations d'une convention FIP Poste avec la mise à dispo d'un local
$updateLocalFIPPoste = $bdd->prepare("UPDATE convention_fip_poste SET surfacePosteLocal = :surfacePosteLocal , montantERDFLocal = :montantERDFLocal 
    WHERE type_etude = :type_etude AND id_etude = :id_etude AND id_convention_fipposte = :id_convention_fipposte");
//mise à jour des informations d'une convention FIP Poste avec la mise à dispo d'un terrain
$updateTerrainFIPPoste = $bdd->prepare("UPDATE convention_fip_poste SET surfacePosteTerrain = :surfacePosteTerrain , montantERDFTerrain = :montantERDFTerrain 
    WHERE type_etude = :type_etude AND id_etude = :id_etude AND id_convention_fipposte = :id_convention_fipposte");

//récupère la liste de toutes les conventions FIP Poste
$listFIPPoste = $bdd->prepare("SELECT id_convention_fipposte FROM convention_fip_poste WHERE type_etude = :type_etude AND id_etude = :id_etude");
//recupère toutes les informations sur une conventions FIP Poste
$conventionFIPPoste = $bdd->prepare("SELECT * FROM convention_fip_poste WHERE type_etude = :type_etude AND id_etude = :id_etude AND id_convention_fipposte = :id_convention_fipposte");

function cassageChaineCaractere($chaineACasser, $caractereSeparateur, $nomObjet) {
    $nbrObjets = substr_count($chaineACasser, $caractereSeparateur) + 1;

    for ($i = 1; $i <= $nbrObjets; $i++) {
        $position = strpos($chaineACasser, $caractereSeparateur);
        if ($position != null) {
            ${"objet" . $i} = substr($chaineACasser, 0, $position);
            $chaineACasser = substr($chaineACasser, $position + 1);
        } else if ($position == null) {
            ${"objet" . $i} = $chaineACasser;
        }

        if ($nomObjet == "support")
            $temp .= "- " . ${"objet" . $i} . " Pour le " . $nomObjet . " n°" . $i . "<br />";
        else
            $temp .= "- " . ${"objet" . $i} . "<br />";
        if ($nbrObjets == 0) {
            $temp = "";
        }
    }
    return $temp;
}

//*********************************************************
//              INFOS ETUDES
//*********************************************************
//Récupère les informations spécifique à une étude 
$info_etude = $bdd->prepare("SELECT * FROM etude_municipalite WHERE numero_affaire = '" . $_GET['Num'] . "'");

//*********************************************************
//              RESUME DE TOUS LES DOCUMENTS
//*********************************************************
//résumé documents
$nbrTotalDocument = $bdd->query("SELECT * FROM document_municipalite");
$nbrDocDiffuse = $bdd->prepare("SELECT * FROM document_municipalite_etude WHERE id_etude = :id_etude AND diffuse = :diffuse");

//résumé concesionnaires
$nbrAPSAccordReceptionTotaux = $bdd->prepare("SELECT * FROM concessionnaire_municipalite_etude WHERE id_etude = :id_etude");
$nbrAPSObtenu = $bdd->prepare("SELECT * FROM concessionnaire_municipalite_etude WHERE id_etude = :id_etude AND APS_obtenu = :APS_obtenu");
$nbrAccordObtenu = $bdd->prepare("SELECT * FROM concessionnaire_municipalite_etude WHERE id_etude = :id_etude AND accord_etude_obtenu = :accord_etude_obtenu");
$nbrReceptionObtenu = $bdd->prepare("SELECT * FROM concessionnaire_municipalite_etude WHERE id_etude = :id_etude AND reception_final_obtenue = :reception_final_obtenue");

//*********************************************************
//              ETAPE 4
//*********************************************************
$infoOrganisme = $bdd->prepare("SELECT DISTINCT nom_organisme, accord_municipalite_etude.id_organisme FROM accord_organisme_municipalite INNER JOIN accord_municipalite_etude ON accord_organisme_municipalite.id_organisme = accord_municipalite_etude.id_organisme WHERE id_etude =:id_etude");
$infoDocument = $bdd->prepare("SELECT accord_municipalite_etude.id_document, accord_municipalite_etude.id_accord_municipalite_etude,document_organisme_municipalite.nom_document FROM document_organisme_municipalite INNER JOIN accord_municipalite_etude ON document_organisme_municipalite.id_document = accord_municipalite_etude.id_document WHERE id_etude =:id_etude AND id_organisme =:id_organisme");  
$documentObtenu = $bdd->prepare("SELECT obtenu, date_obtention FROM accord_municipalite_etude WHERE  id_etude =:id_etude AND id_organisme =:id_organisme AND id_document =:id_document");
$actualisationDate = $bdd->prepare("UPDATE accord_municipalite_etude SET obtenu = :obtenu, date_obtention = :date_obtention WHERE id_etude = :id_etude AND id_organisme = :id_organisme AND id_document = :id_document");
$recuperationDate = $bdd->prepare("SELECT date_obtention FROM accord_municipalite_etude WHERE id_etude = :id_etude AND id_organisme = :id_organisme AND id_document =:id_document");
$concessionnaireInsert=$bdd->prepare("UPDATE accord_municipalite_etude SET obtenu = :obtenu, date_obtention = :date_obtention WHERE id_etude = :id_etude AND id_organisme = :id_organisme AND id_document = :id_document");
$documentConcessionnaire =$bdd->prepare("SELECT accord_etude_obtenu, date_accord_etude FROM concessionnaire_municipalite_etude WHERE id_etude= :id_etude AND id_concessionnaire= :id_concessionnaire");
//*********************************************************
//              ETAPE 5
//*********************************************************
$ruesEtude = $bdd->prepare("SELECT rue_travaux, progression FROM rue_municipalite WHERE id_etude = :id_etude");

function listDirectories($repertoireALister){
    $nbrDir = 0;
        $dir = opendir($repertoireALister);
        while($nameOfDirectories = readdir($dir)){
            if($nameOfDirectories != '.' && $nameOfDirectories != ".."){
                if(is_dir($repertoireALister."/".$nameOfDirectories)){
                    echo "<option>".$nameOfDirectories."</option>";
                    $nbrDir++;
                }
                    
            }
        }
        closedir($dir);
        return $nbrDir;
    }

//*********************************************************
//              GENERAL
//*********************************************************
$updateNumEtape = $bdd->prepare("UPDATE etude_municipalite SET numero_etape_termine = :numero_etape_termine WHERE numero_affaire = :numero_affaire AND id_toute_etude = :id_toute_etude");
$numAffaire = $bdd->prepare("SELECT numero_affaire FROM etude_municipalite WHERE id_toute_etude = :id_toute_etude");
?>